One or more aspects of the invention relates to computing devices using a stylus input device. More specifically, aspects of the invention relate to a method and system for correcting alignment and linearity errors when a stylus digitizer is used in combination with a display screen to provide input to a computing system.
Portable computing systems, such as personal digital assistants (PDA), often have a stylus or other pen-like input device for receiving user input. For instance, a user may use a pen-like stylus to interact with a PDA by pressing the stylus against a display screen. The display screen is generally an LCD display. Depending on the type of digitizer used, the user may physically touch the stylus to the LCD display screen or bring the stylus close to the screen so that the digitizer can detect the presence of the stylus. The digitizer would then detect the stylus proximity or contact and translate it into a location on the display. The PDA further processes the location to determine how to respond to the user input.
In order to capture a user""s input regardless of where the user places the stylus on the LCD display, digitizers typically are larger than the dimensions of the LCD display itself. That is, the digitizer generally extends beyond the area of the LCD display, as shown in FIG. 3, such that the digitizer can better detect when the user places the stylus at or near the edges of the LCD display.
Because the digitizer generally encompasses a larger area than the LCD display, the system using the digitizer and display must map the user""s input from the digitizer to the LCD. For instance, if the user places the stylus at LCD pixel location 0,0, it generally does not correspond to digitizer position 0,0 because the digitizer extends beyond the dimensions of the display, as discussed above and shown in FIG. 3. The digitizer position corresponding to 0,0 on the LCD may actually be a position such as 100,100, depending on the resolution of the digitizer.
Mapping between the digitizer and the LCD is further complicated by the fact that digitizers and LCD displays often have different resolutions. Typical display resolutions extend from less than 600xc3x97400 pixels to 1280xc3x971024 pixels and higher, with multiple resolutions possible on various sized display screens. Digitizers, also, are created with various levels of resolution. For instance, digitizers generally have resolutions between 100 and 1000 pixels per inch. However, higher or lower resolutions are also possible. Because of these resolution differences between the LCD display and the digitizer, there is typically not a 1-to-1 mapping between the LCD display and the digitizer. Thus, complicated calculations are often required to map from the digitizer to the display.
Digitizers used to detect stylus input generally include resistive digitizers and radio frequency (RF) digitizers, both of which are known in the art. Both types of digitizers sense the location that a user places the stylus on a display device. However, an RF digitizer can sense the stylus even when it is not touching the display device. RF digitizers may have various degrees of sensitivity, such that the digitizer may sense the RF stylus when it is within an approximate distance from the digitizer, such as within one inch of the digitizer, within 6 inches, within xc2xd inch, or other similar measure, which may result in the digitizer sensing the stylus before it actually contacts the display device.
However, input problems with the stylus can occur because an electromagnetic-based pen digitizer is non-linear, especially close to its edges and corners. This can be caused by field distortion from the interference of a metal frame and/or other electronics around the edges. Interference may also come from electronic components placed beneath the digitizer. FIG. 4 shows lines drawn using a straight edge ruler on a device that has no linearity compensation. If the digitizer is used independently without an LCD display on top, a user may not notice the linearity problem because the resultant input is not displayed. However, when used with an LCD display on top, the user will notice that the stylus tip aligns with the detected input position very well in some areas but that they drift apart in other areas, such as area 250, caused by a hard disk drive located beneath the digitizer. This distortion can create a usability problem because the user may not be able to accurately interact with the computing device, causing the user to become frustrated and stop using the device.
Known previous methods have attempted to compensate for alignment differences, but have neglected linearity problems. For instance, known alignment methods use two to five point alignment. That is, a computer device prompts the user to interact with the display using the stylus input device two to five times at various locations to establish the offset and alignment parameters between the digitizer and the display device. While this may correct the alignment between the digitizer and LCD, linearity problems remain unresolved.
While digitizer manufacturers have included limited linearity correction built-in to digitizer firmware, these digitizers often do not contain enough processing power or memory to fully compensate in areas a high distortion. Thus, a solution is needed that can correct for alignment and linearity errors when an LCD or other display device is used in conjunction with a pen digitizer to receive user input in a computing system.
Aspects of the invention provide a flexible and efficient method and system for correcting alignment and linearity errors in a device that uses a stylus input device. In a first aspect of the invention, there is a linearity map including an array of data points, wherein each data point comprises data corresponding to known screen coordinates and corresponding input coordinates.
In a further aspect of the invention, there is a method of creating a linearity map. A data processing system displays a calibration grid on a display device connected to a digitizer such that user input may be provided by interacting directly with the display device. A stylus input device is used to touch each intersection in the calibration grid displayed on the screen while the digitizer detects the input coordinates for each intersection. The system records each intersection""s screen coordinates and corresponding detected digitizer coordinates in the linearity map.
In a further aspect of the invention, there is a method for correcting input errors in a data processing system using a stylus input device and a digitizer. The digitizer detects input from the stylus input device. The data processing system then determines in which sector of a linearity map the detected stylus input is located, and calculates a reference rectangle based on the detected point in the sector. The system then may calculate a screen point corresponding to the stylus input point based on the reference rectangle and the linearity map. The method may be embodied in computer readable instructions stored on a computer readable medium.
In a further aspect of the invention, there is a data processing system including a stylus input device, a digitizer, a display screen on top of the digitizer, a processor, and a memory storing computer readable instructions that, when executed by the processor, cause the data processing system to perform a set of steps. The digitizer detects input from the stylus input device. The data processing system then determines in which sector of a linearity map the detected stylus input is located, and calculates a reference rectangle based on the detected point in the sector. The system then may calculate a screen point corresponding to the stylus input point based on the reference rectangle and the linearity map.